fn main() {
    let s = String::from("hello");

    takes_ownership(s);

    let x = 5;

    makes_copy(x);

    println!("{}", x);

    let s1 = gives_ownership();
    println!("{}", s1)
}

fn gives_ownership() -> String {
    let some_string = String::from("yours");

    some_string
}

fn takes_ownership(some_string: String) {
    println!("{}", some_string);
}

fn makes_copy(some_integer: i32) {
    println!("{}", some_integer);
}
